The present invention concerns methods for storing data in a non-volatile ferroelectric random access memory (FRAM), particularly a memory wherein a ferroelectric memory material is a ferroelectric polymer, wherein memory locations are provided as elements of a matrix and accessed via electrodes forming word and bit lines of the matrix, and wherein destructive read-out operations to the memory locations are followed by rewrite operations.
Ferroelectric memories are becoming commercially important because they are non-volatile, can be made at relatively low cost, and can be written to and read at voltages from 1 to 5 volts and at speeds in the order of 10 to 100 nanoseconds, which is typical of conventional DRAM and SRAM computer memories.
Placing ferroelectric material between the plates of a capacitor on a semiconductor substrate causes the capacitor to exhibit a memory effect in the form of charge polarization. When the capacitor is charged with the field lines running in one direction across the capacitor plates, a residual charge polarization remains after the charge is removed from the capacitor plates. If an opposite charge is placed on the capacitor plates, an opposite residual polarization remains. A plot of the applied field voltage across the plates of the capacitor against the polarization of the ferroelectric material between the plates of the capacitor exhibits a classic hysteresis curve as shown in FIG. 1. Ps and xe2x88x92Ps are the spontaneous polarization values whereas Pr and xe2x88x92Pr are the remnant polarization values indicating the polarization in the ferroelectric material at zero field value. In an ideal ferroelectric Ps should equal Pr but these values differ in actual ferroelectrics due to linear dielectric and non-linear ferroelectric behaviour.
Ferroelectric memories utilize a ferroelectric capacitor as the storage medium and an electric field must be placed across the storage capacitor in order to read it. A pulse is applied to the ferroelectric capacitor and the amount of resultant charge is either low if the pulse polarity agreed with the previous one, or the resultant charge is higher if the charge placed on the capacitor is of the opposite polarity of the one last placed across the plates of the capacitor. This minute difference between charge that agreed with the previous memory charge and an opposite charge can be measured to determine what the previous polarization on the ferroelectric capacitor was when it was last written. The reading electric field alters the state of the memory cell in many cases. This means that ferroelectric memories are destructively read-out memories which must include a rewrite function in which the data read out is restored to the memory cell after it has been read. The rewrite operation takes time, and if the memory function is truncated, for instance by a power loss, during or immediately after a cell is read and before the rewrite cycle can be completed, the data of that cell will be lost. Such data losses are not acceptable for non-volatile memories.
A ferroelectric random access memory (RAM) which uses ferroelectric memory cells to store data is disclosed in U.S. Pat. No. 5,682,344. The ferroelectric memory is a static memory in which data stored in the ferroelectric memory cells can be destroyed during read operations. The memory comprises circuitry which latches a current memory address during an access operation and prevents the memory from jumping to a new memory address until the destroyed data has been replaced. The memory also includes circuitry which can detect a transition in address data provided on address inputs.
A circuit including a ferroelectric capacitor that can be used to store the value of nodes of volatile logic elements in a logic circuit is disclosed in U.S. Pat. No. 5,815,431. In this manner, the state of a complex logic circuit, such as a CPU or an I/O device, can be stored in the non-volatile ferroelectric capacitors. After an accidental or planned power outage, the non-volatile ferroelectric capacitors can be used to restore the values of the nodes. Additionally, a planned power loss can be used for saving system power in circuits that are power-consumption sensitive.
An apparatus and method for maintaining non-volatility in a ferroelectric random access memory is disclosed in U.S. Pat. No. 5,892,705. The apparatus for maintaining non-volatility includes a control section for a write-back function, a power source voltage sensing unit for sensing a failure in the power source voltage and providing a power failure signal to the control section, such that the control section completes a write-back cycle before power failure. The power source voltage-sensing unit generates a control signal by sensing a failure in power source voltage, and provides a power failure signal to the control section such that a write-back process is completed before power failure, thereby maintaining non-volatility of the memory device.
In U.S. Pat. No. 6,201,731, the ferroelectric destructive read-out memory system includes a power source, a memory array including a memory cell, and a logic circuit for applying a signal to the memory array. Whenever a low power condition is detected in said power source, a disturb prevent circuit prevents unintended voltages due to the low power condition from disturbing the memory cell. The disturb prevent circuit also stops the operation of the logic circuit for a time sufficient to permit a rewrite cycle to be completed, thereby preventing loss of the data being rewritten.
In U.S. Pat. No. 6,211,710, a circuit for ensuring stabilized configuration information upon power-up is disclosed. In one embodiment, a semiconductor device includes a configuration information stored in a number of non-volatile storage elements (fuse bits). A configuration power-on reset circuit generates a signal for latching the configuration data into volatile configuration registers on power-up. The configuration data signals are generated in response to a power-on reset (POR) pulse, and not latched until a predetermined delay after the POR pulse is terminated. The predetermined delay allows time for the data signals from the fuse bits to xe2x80x9csettle.xe2x80x9d Subsequent POR pulses will not result in another latching action.
European patent application EP 0 803 813 A1 discloses a data-backup apparatus for a semiconductor memory, particularly a non-volatile semiconductor memory, for instance of the type EEPROM (electrical erasable read only memory). The purpose of this apparatus is to prevent data loss or incorrect data if a write operation unintentionally is interrupted, for instance if the power is turned off during a write operation. The semiconductor memory has a plurality of memory locations storing values of variables. A write unit writes a value to a plurality of memory locations in the memory one by one and a read unit reads the values from these memory locations. A coincidence determining means is used to decide whether more than half of the read values from the memory locations in the memory are identical, and assigning means then determines a coincidence value if the coincidence determining means has found that more than half of the values are identical. Thus, a determined coincidence value can be assigned each variable.
The object of the present invention is to provide methods that ensures a non-volatile storage of data in matrix-addressable memories, particularly ferroelectric memories, and maintain the integrity of the stored data by detecting bit errors in the readout data and effecting a correction thereof.
This object as well as further features and advantages are realized according to the present invention with a first method which is characterized by successive steps for
(a) storing a plurality of identical copies of said data in a plurality of memory locations, said memory locations not having any common word lines;
(b) reading a first word line in its entirety, said first word line comprising at least a first copy of said identical copies of said data, rewriting the data read from said first word line back into said first word line and, transferring the data read from said first word line to a memory control logic circuit;
(c) reading a subsequent word line in its entirety, said subsequent word line comprising at least a subsequent copy of said identical copies of said data, rewriting the data read from said subsequent word line back into said subsequent word line, and transferring the data read from said subsequent word line to said memory control logic circuit;
(d) repeating step (c) until said data read from said word lines comprising copies of said identical copies of said data, have been transferred to said memory control logic circuit;
(e) detecting any bit errors by comparing said data read from said word lines comprising copies of said identical copies of said data, bit-wise in said memory control logic circuit; and
(f) writing corrected data to the memory cells in said memory locations that hold bit errors, when bit errors have been detected in step (e).
The same object as well as further features and advantages are realized according to the present invention with a second method which is characterized by successive steps for
(a) storing a plurality of identical copies of said data in a plurality of memory locations, said memory locations having neither common word lines nor common bit lines;
(b) reading a segment of a first word line, said segment of a first word line comprising at least a first copy of said identical copies of said data, rewriting the data read from said segment of a first word line back into said segment of a first word line, transferring said data read from said segment of a first word line to a first segment of data latches, and retaining said data read from said segment of a first word line in said first segment of data latches;
(c) reading a segment of a subsequent word line, said segment of a subsequent word line comprising at least a subsequent copy of said identical copies of said data, rewriting the data read from said segment of a subsequent word line back into said segment of a subsequent word line, transferring said data read from said segment of a subsequent word line to a subsequent segment of data latches, and retaining said data read from said segment of a subsequent word line in said subsequent segment of data latches;
(d) repeating step (c) until said identical copies of said data have been transferred to said segments of data latches;
(e) transferring said data retained in said segments of data latches to a memory control logic circuit;
(f) detecting any bit errors by comparing said identical copies of said data bit-wise in said memory control logic circuit; and
(g) writing corrected data to the memory cells in said memory locations that hold bit errors, when bit errors have been detected in step (f).
In both methods according to the invention the data preferably are timing data for controlling the read and rewrite operations, or redundancy data for identifying redundancy memory cells.
In both methods according to the invention the bit-wise comparison in step (e) can advantageously be replaced with detecting any bit errors by including an error correction code with said data.